package com.cake.entity;

import java.math.BigDecimal;
import java.util.Date;

import com.cake.entity.base.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;

public class XxMember extends BaseEntity {
    /**
     * 会员主键
     * 表字段 : xx_member.id
     */
    private Long id;

    /**
     * 会员登录用户名
     * 表字段 : xx_member.username
     */
    private String username;

    /**
     * 会员登录密码
     * 表字段 : xx_member.password
     */
    private String password;

    /**
     * 会员邮箱
     * 表字段 : xx_member.email
     */
    private String email;

    /**
     * 会员微信头像地址
     * 表字段 : xx_member.weixin_pic
     */
    private String weixinPic;

    /**
     * 会员拥有积分
     * 表字段 : xx_member.point
     */
    private Long point;

    /**
     * 会员总积分
     * 表字段 : xx_member.total_point
     */
    private Integer totalPoint;

    /**
     * 会员消费金额
     * 表字段 : xx_member.amount
     */
    private BigDecimal amount;

    /**
     * 会员消费余额
     * 表字段 : xx_member.balance
     */
    private BigDecimal balance;

    /**
     * 是否启用
     * 表字段 : xx_member.is_enabled
     */
    private Boolean isEnabled;

    /**
     * 是否锁定
     * 表字段 : xx_member.is_locked
     */
    private Boolean isLocked;

    /**
     * 锁定日期
     * 表字段 : xx_member.locked_date
     */
    private Date lockedDate;

    /**
     * 连续登录失败次数
     * 表字段 : xx_member.login_failure_count
     */
    private Integer loginFailureCount;

    /**
     * 会员注册ip
     * 表字段 : xx_member.register_ip
     */
    private String registerIp;

    /**
     * 上一次登录ip
     * 表字段 : xx_member.login_ip
     */
    private String loginIp;

    /**
     * 上一次登录时间
     * 表字段 : xx_member.login_date
     */
    private Date loginDate;

    /**
     * 会员姓名
     * 表字段 : xx_member.name
     */
    private String name;

    /**
     * 会员性别（0-男，1-女）
     * 表字段 : xx_member.gender
     */
    private Integer gender;

    /**
     * 会员出生日期
     * 表字段 : xx_member.birth
     */
    private Date birth;

    /**
     * 会员所在详细地址
     * 表字段 : xx_member.address
     */
    private String address;

    /**
     * 会员所在地区邮编
     * 表字段 : xx_member.zip_code
     */
    private String zipCode;

    /**
     * 会员电话
     * 表字段 : xx_member.phone
     */
    private String phone;

    /**
     * 会员手机号码
     * 表字段 : xx_member.mobile
     */
    private String mobile;

    /**
     * 会员安全密钥
     * 表字段 : xx_member.safe_key_value
     */
    private String safeKeyValue;

    /**
     * 会员安全到期时间
     * 表字段 : xx_member.safe_key_expire
     */
    private Date safeKeyExpire;

    /**
     * 会员所在地区主键
     * 表字段 : xx_member.area
     */
    private Long area;

    /**
     * 会员等级
     * 表字段 : xx_member.member_rank
     */
    private Long memberRank;

    /**
     * 会员创建时间
     * 表字段 : xx_member.create_date
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createDate;

    /**
     * 会员最新修改时间
     * 表字段 : xx_member.modify_date
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date modifyDate;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table xx_member
     *
     * @mbg.generated
     */
    private static final long serialVersionUID = 1L;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username == null ? null : username.trim();
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password == null ? null : password.trim();
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email == null ? null : email.trim();
    }

    public String getWeixinPic() {
        return weixinPic;
    }

    public void setWeixinPic(String weixinPic) {
        this.weixinPic = weixinPic == null ? null : weixinPic.trim();
    }

    public Long getPoint() {
        return point;
    }

    public void setPoint(Long point) {
        this.point = point;
    }

    public Integer getTotalPoint() {
        return totalPoint;
    }

    public void setTotalPoint(Integer totalPoint) {
        this.totalPoint = totalPoint;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public BigDecimal getBalance() {
        return balance;
    }

    public void setBalance(BigDecimal balance) {
        this.balance = balance;
    }

    public Boolean getIsEnabled() {
        return isEnabled;
    }

    public void setIsEnabled(Boolean isEnabled) {
        this.isEnabled = isEnabled;
    }

    public Boolean getIsLocked() {
        return isLocked;
    }

    public void setIsLocked(Boolean isLocked) {
        this.isLocked = isLocked;
    }

    public Date getLockedDate() {
        return lockedDate;
    }

    public void setLockedDate(Date lockedDate) {
        this.lockedDate = lockedDate;
    }

    public Integer getLoginFailureCount() {
        return loginFailureCount;
    }

    public void setLoginFailureCount(Integer loginFailureCount) {
        this.loginFailureCount = loginFailureCount;
    }

    public String getRegisterIp() {
        return registerIp;
    }

    public void setRegisterIp(String registerIp) {
        this.registerIp = registerIp == null ? null : registerIp.trim();
    }

    public String getLoginIp() {
        return loginIp;
    }

    public void setLoginIp(String loginIp) {
        this.loginIp = loginIp == null ? null : loginIp.trim();
    }

    public Date getLoginDate() {
        return loginDate;
    }

    public void setLoginDate(Date loginDate) {
        this.loginDate = loginDate;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    public Integer getGender() {
        return gender;
    }

    public void setGender(Integer gender) {
        this.gender = gender;
    }

    public Date getBirth() {
        return birth;
    }

    public void setBirth(Date birth) {
        this.birth = birth;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address == null ? null : address.trim();
    }

    public String getZipCode() {
        return zipCode;
    }

    public void setZipCode(String zipCode) {
        this.zipCode = zipCode == null ? null : zipCode.trim();
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone == null ? null : phone.trim();
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile == null ? null : mobile.trim();
    }

    public String getSafeKeyValue() {
        return safeKeyValue;
    }

    public void setSafeKeyValue(String safeKeyValue) {
        this.safeKeyValue = safeKeyValue == null ? null : safeKeyValue.trim();
    }

    public Date getSafeKeyExpire() {
        return safeKeyExpire;
    }

    public void setSafeKeyExpire(Date safeKeyExpire) {
        this.safeKeyExpire = safeKeyExpire;
    }

    public Long getArea() {
        return area;
    }

    public void setArea(Long area) {
        this.area = area;
    }

    public Long getMemberRank() {
        return memberRank;
    }

    public void setMemberRank(Long memberRank) {
        this.memberRank = memberRank;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getModifyDate() {
        return modifyDate;
    }

    public void setModifyDate(Date modifyDate) {
        this.modifyDate = modifyDate;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", username=").append(username);
        sb.append(", password=").append(password);
        sb.append(", email=").append(email);
        sb.append(", weixinPic=").append(weixinPic);
        sb.append(", point=").append(point);
        sb.append(", totalPoint=").append(totalPoint);
        sb.append(", amount=").append(amount);
        sb.append(", balance=").append(balance);
        sb.append(", isEnabled=").append(isEnabled);
        sb.append(", isLocked=").append(isLocked);
        sb.append(", lockedDate=").append(lockedDate);
        sb.append(", loginFailureCount=").append(loginFailureCount);
        sb.append(", registerIp=").append(registerIp);
        sb.append(", loginIp=").append(loginIp);
        sb.append(", loginDate=").append(loginDate);
        sb.append(", name=").append(name);
        sb.append(", gender=").append(gender);
        sb.append(", birth=").append(birth);
        sb.append(", address=").append(address);
        sb.append(", zipCode=").append(zipCode);
        sb.append(", phone=").append(phone);
        sb.append(", mobile=").append(mobile);
        sb.append(", safeKeyValue=").append(safeKeyValue);
        sb.append(", safeKeyExpire=").append(safeKeyExpire);
        sb.append(", area=").append(area);
        sb.append(", memberRank=").append(memberRank);
        sb.append(", createDate=").append(createDate);
        sb.append(", modifyDate=").append(modifyDate);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}